/**
 * @y.liu 对桩方式定义定义
 * 
 */

#ifndef __DOCKING_DEF_H__
#define __DOCKING_DEF_H__

#include <string>

namespace global_path_planner {
namespace common{

class Docking_Def
{
public:
    /***
     * @brief 对桩方式
     */
    enum
    {
        E_BACKWARD_DIRECTION = 0,
        E_FORWARD_DIRECTION,
    };

    /**
     * @brief 获取对桩方向
     *
     */
    static int ObtainDockingDirection(const std::string &robot_type)
    {
        if ((robot_type == "SW55A_AA") ||
            (robot_type == "SW55A_AB") ||
            (robot_type == "SW55S_AA") ||
            (robot_type == "SW55C_AA"))
        {
            return E_BACKWARD_DIRECTION;
        }
        else if ((robot_type == "SW55L_AA") ||
                 (robot_type == "KT60S_AA"))
        {
            return E_BACKWARD_DIRECTION;
        }
        else if ((robot_type == "SW80A_AA") ||
                 (robot_type == "SW80P_AA") ||
                 (robot_type == "SW80P_AB") ||
                 (robot_type == "SW80P_AC") ||
                 (robot_type == "SW80P_AD") ||
                 (robot_type == "SW80P_AE") ||
                 (robot_type == "SW85A_AA") ||
                 (robot_type == "SW85P_AA"))
        {
            return E_FORWARD_DIRECTION;
        }
        return E_BACKWARD_DIRECTION;
    }
};
} // common
} // global_path_planner

#endif // __DOCKING_DEF_H__